Matematyczne modelowanie procesów decyzyjnych w finansach
Rafał Głodek, Joanna Kusy, Oliwia Makuch, Tomasz Srebniak
Plan prezentacji
- Część 1: Analiza portfela
- Część 2: Model GARCH
Analiza portfela
Analiza portfela to zbiór metod i narzędzi służących do oceny efektywności inwestycji w różne aktywa finansowe.
- Wstęp do analizy portfela
- Ryzyko i zwroty
- Ocena wydajności portfela
- Optymalizacja portfela
Model GARCH
GARCH (Generalized Autoregressive Conditional Heteroskedasticity) to model służący do przewidywania zmienności cen aktywów finansowych.
\[\begin{equation}
GARCH(p, q): \sigma_t^2 = \omega + \sum_{i=1}^p\alpha_i \varepsilon_{t-i}^2 + \sum_{j=1}^q\beta_j \sigma_{t-j}^2
\end{equation}\]
- Wprowadzenie do modelu GARCH
- Konfiguracja w Pythonie
- Ocena wydajności modelu
- Przykłady zastosowań
Wstęp do analizy portfela
Portfel inwestycyjny - zbiór aktywów posiadanych przez osobę fizyczną.
Skład:
- akcje,
- obligacje,
- towary,
- fundusze,
- …
Dywersyfikacja portfela
Polega na inwestowaniu w różne rodzaje aktywów w celu zmniejszenia ryzyka inwestycyjnego.
Typowe strategie inwestycyjne
Stopy zwroty
Zwroty z portfela to zmiany wartości w czasie.
\[
r_t = \frac{V_t - V_{t - 1}}{V_{t - 1}}
\]
W naszym portfelu mamy:
- akcje General Electric, waga: 0.5;
- akcje JP Morgan, waga: 0.2;
- akcje Microsoft, waga: 0.2;
- akcje Proctor & Gamble, waga: 0.1.
Stopy zwrotu
returns = data.pct_change()
| date |
|
|
|
|
| 2015-01-02 |
NaN |
NaN |
NaN |
NaN |
| 2015-01-05 |
-0.018356 |
-0.031045 |
-0.009303 |
-0.004755 |
| 2015-01-06 |
-0.021545 |
-0.025929 |
-0.014571 |
-0.004555 |
Średnia stopa zwrotu (mean returns)
Szacowany zysk lub strata, jaką inwestor spodziewa się osiągnąć z portfela inwestycji.
# średni zwrot dla każdej akcji
meanDailyReturns = returns.mean()
# uwzględniamy wagi
weights = np.array([0.5, 0.2, 0.2, 0.1])
Estymowany zysk/strata
np.sum(meanDailyReturns * weights)
Skumulowana stopa zwrotu (cumulative returns)
returns['Portfolio']= returns.dot(weights)
# Calculate cumulative returns
daily_cum_ret = (1 + returns).cumprod()